Field of the Invention
Embodiments of the present invention are generally directed to systems and methods for biasing a bus, and more particularly to systems and methods for biasing a bi-directional differential bus.
Discussion of Related Art
Recommended Standard 485 (RS-485) and the related Telecommunications Industry Association/Electronic Industries Alliance standard 485 (TIA/EIA-485) have become an industry standard serial communication interface for multipoint, bi-directional, differential data transmission due to their relatively low cost, high noise rejection, and fast data rates, even over relatively long cable lengths. RS/TIA/EIA-485 interfaces are used to implement the physical layer for data transmission in various standard and proprietary automation protocols, including Modbus™ and Profibus™.
FIG. 1 illustrates a typical implementation of a communication network using an RS/TIA/EIA-485 bus. As shown, the communication network or bus 100 includes a plurality of nodes 110a, 110b, 110c, 110d (Nodes 1-N) that are interconnected by a pair of wires 130a, 130b. Each of the nodes includes at least one associated processor (not shown) that is capable of communicating with other nodes on the network or bus 100. The nodes 110a-d may be any device capable of communicating over the network or bus 100, such as a computer system, a control system, an intelligent UPS, cooling equipment, various types of factory automation equipment, etc. In a typical implementation the wires 130a, 130b are twisted (i.e., a twisted pair of wires) to improve noise immunity. Each of the nodes 110a-d has an RS/TIA/EIA-485 interface that includes a RS/TIA/EIA-485 transceiver 120a, 120b, 120c, 120d having a differential transmitter 122a-d and a differential receiver 126a-d. It should be appreciated that rather than using a transceiver (e.g., an integrated circuit that includes both a differential transmitter and a differential receiver), separate differential transmitters and receivers may be used.
Each differential transmitter 122a-122d includes a non-inverting terminal 123a-d and an inverting terminal 124a-d, and similarly, each differential receiver 126a-d includes a non-inverting terminal 127a-d and an inverting terminal 128a-d. Data is transmitted by each differential transmitter 122a-d as a difference in voltage levels between the non-inverting terminal 123a-d and the inverting terminal 124a-d of the respective differential transmitter 122a-d. Similarly, data received by each differential receiver 126a-d is interpreted by the receiver based upon the difference in voltage levels between the non-inverting terminal 127a-d and the inverting terminal 128a-d of the respective differential receiver 126a-d. Where the difference in voltage between the non-inverting terminal 127a-d and the inverting terminal 128a-d of the respective differential receiver 126a-d is greater than approximately 200 mV, a mark (i.e., a logic 1) is received, and where the difference in voltage between the non-inverting terminal 127a-d and the inverting terminal 128a-d of the respective differential receiver 126a-d is less than approximately −200 mV, a space (i.e., a logic 0) is received. In a transceiver that is specifically designed for half-duplex communication, the non-inverting terminal of the differential transmitter may be electrically connected to the non-inverting terminal of the differential receiver, and the inverting terminal of the differential transmitter electrically connected to the inverting terminal of the differential receiver, as shown in FIG. 1. In such a transceiver, a pair of output pins are provided, with pin A (termed the ‘non-inverting pin’) corresponding to Tx+/Rx+ and with pin B (termed the ‘inverting pin’) corresponding to Tx−/Rx−. It is noted that this description of what voltage level represents a mark or a space, and which pins are denoted A or B conforms to industry standard usage. In the actual RS/TIA/EIA-485 standards, pin A is denoted the ‘inverting pin’ and corresponds to Tx−/Rx−, pin B is denoted the ‘non-inverting pin’ and corresponds to Tx+/Rx+, a mark is received when the voltage difference B−A is greater than approximately 200 mV, and a space is received when the voltage difference B−A is less than approximately −200 mV. For the remainder of this document, the industry standard usage applies.
Although the network topology shown in FIG. 1 is for half-duplex communication, RS/TIA/EIA-485 may also be used for full-duplex communication. In such a full-duplex communication network, each node would be interconnected using two twisted pairs of wires, one twisted pair for Tx+ and Tx−, and the other twisted pair for Rx+ and Rx−.
In a typical RS/TIA/EIA-485 communication network, and as illustrated in FIG. 1, the ends of the network or bus 100 are terminated with a resistor 140, 142 connected between each wire 130a, 130b of the twisted pair. The value of each termination resistor 140, 142 is based upon the characteristic impedance of the pair of wires 130a, 130b, and a typical value for standard twisted pair wiring is about 120 Ohms. The presence of the termination resistors 140, 142 at the ends of the network reduces reflections that can be caused by fast driver edges, and also reduces noise sensitivity due to the lower impedance.
As known to those skilled in the art, during those periods of time in which the communication network or bus 100 is idle (i.e., when no node is actively transmitting data over the RS/TIA/EIA-485 bus), the bus may drift into an indeterminate state in which the voltage difference between the A and B pins of a differential receiver drops below the specified 200 mV range. Where this occurs, the differential receivers on the bus can pass false traffic to the devices to which they are connected, and may saturate the bus. To prevent this situation, it is common to fail safe one of the nodes on the bus (typically the master node) to bias the bus to a known state in the absence of any node actively driving the bus. As shown in FIG. 1, this is typically done by electrically connecting one of the wires 130a to a supply voltage (e.g., 5 V) via a pull-up resistor 150, and connecting the other wire 130b to ground via a pull-down resistor 152. The values of the pull-up and pull-down resistors may vary, dependent upon the number of nodes on the network or bus, but typical values for the pull-up and pull-down resistors range from about 680 Ohms to about 750 Ohms.
Many device manufacturers understand the importance of using termination resistors at the ends of the network as well as the importance of fail safe biasing using pull-up and pull-down resistors at one of the devices on the network. However, because no device manufacturer necessarily knows where their device may be used, how many other devices may be interconnected (a RS/TIA/EIA-485 bus may support up to 64 nodes or more), and which of those devices may already have been configured with pull-up and pull-down transistors, there remain a great many instances in the field where the bus is improperly biased. Various approaches have been taken to deal with this issue, including doing nothing and simply accepting a certain amount of bus noise, providing jumpers or DIP switches on each device to permit a user to apply an appropriate bias, providing a little bit of bias in each device in the hope that, when interconnected with other devices that may each provide a little bit of bias, an appropriate bias is provided, etc.